<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <style>
      /* 填写样式 */
    </style>
  </head>

  <body>
    <!-- 填写标签 -->
    <script type="text/javascript">
        /**
         * 条件稍微多一点的一道正则表达式题，
         * 首先是小数的情况，有或无，并且形式唯一(\.\d{2})?即可
         * 再者我们需要考虑整数位有几位，如果是一位使用\d判断即可，
         * 如果是多位则需要判断有多少分隔符或没有分割符了，即(,\d{3})*，
         * 以及分隔符最前面的数字不会超过3个，
         * 当然了还有个比较容易忽略的，多位时第一位不会是0对吧，
         * 所以[1-9]\d{0,2}，既保证了前置数量不超过三位又保证了第一位不是0
         */
      // 填写JavaScript
      const isUSD = (str) =>
        /^\$(([1-9]\d{0,2})(,\d{3})*|\d+)(\.\d{2})?$/.test(str);

      console.log(isUSD("$20,933,209.93")); //true
      console.log(isUSD("20,933,209.93")); //false
      console.log(isUSD("$0.19")); //true
      console.log(isUSD("$.13")); //false
      console.log(isUSD("$1.9")); //false
      console.log(isUSD("$0")); //true
      console.log(isUSD("$3,432,12.12")); //false
    </script>
  </body>
</html>
